#  封装 成类   不关系具体的实现的细节 , 只关心 输入 和 输出

# 包瓜子

#  函数 、 类

# 面向对象程序设计的三大特点: 封装、继承, 多态

# 继承
# 子 承 父 业
class People:

    def __init__(self,name,age):
        self.name = name
        self.age = age

    def eat(self,food):
        print('{}吃{}'.format(self.name,food))

p1 = People('张三',12)
p1.eat('饼干')

# 人类小的种类 --> 学生类,工人类
# 大的范围    --->  小的范围

class Student(People):
# class  子类(父类)
    pass

s1 = Student('李四',16)
print(s1)

print(s1.name)
print(s1.age)
s1.eat('鱼')

# 父类  super class 超类  基类 base
# 子类   subclass

# isinstance
# 判断前面对象是不是后面的类型及子类
print(isinstance(p1,People))
print(isinstance(s1,People))
print(isinstance(s1,(People,str)))
print('-------------------------->')
print(issubclass(Student,People))#  前面类是否是后面的子类
print(issubclass(Student,(int,str,Student)))















